package br.com.prime.model.bussines;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import br.com.prime.model.ConnectionFactory;
import br.com.prime.model.pojo.Usuario;

public class UsuarioDAO {

	private Connection connection;

	public UsuarioDAO() {
		try {
			this.connection = new ConnectionFactory().getConnection();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	
	public List<Usuario> getAll() {
		List<Usuario> usuarios = new ArrayList<Usuario>();
		String sql = "SELECT * FROM USUARIO";
		try {
			PreparedStatement stmt = this.connection.prepareStatement(sql);
			ResultSet rs = stmt.executeQuery();
			usuarios = montarObjeto(rs);
			rs.close();
			stmt.close();
			return usuarios;
		} catch (SQLException e) {
			e.printStackTrace();
			return usuarios;
		}
	}
	
	public List<Usuario> montarObjeto(ResultSet rs){
		List<Usuario> usuarios = new ArrayList<Usuario>();
		try {			
			while (rs.next()) {
				Usuario usuario = new Usuario();
				usuario.setID_USUARIO(rs.getInt("iD_USUARIO"));
				usuario.setLOGIN(rs.getString("LOGIN"));
				usuario.setSENHA(rs.getString("SENHA"));
				usuario.setID_PROFESSOR(rs.getInt("iD_PROFESSOR"));
				usuario.setID_ALUNO(rs.getInt("iD_ALUNO"));
				
				
				usuarios.add(usuario);
			}	
			return usuarios;
		} catch (Exception e) {
			e.printStackTrace();
			return usuarios;
		}		
	}
}